package com.leetCode.easy;

/**
 * 判断一个整数是否是回文数。回文数是指正序（从左向右）和倒序（从右向左）读都是一样的整数。
 */
public class PalindromicNumber {
    //自己的想法，效率太低
    public boolean isPalindrome(int x) {
        //将数字转为字符串
        String s = String.valueOf(x);
        String s1 = new StringBuffer(s).reverse().toString();
        if (s.equals(s1)) {
            return true;
        }
        return false;
    }

    //网上的快速思路
    public boolean isPalindrome2(int x){
        //先将不符合回文数的排除，负数，个位为0
        if (x < 0 || (x % 10 == 0 && x != 0)) {
            return false;
        }
        //以下就是符合规则的，将数字的前一半与后一半反转对比若相同，就是回文数
        int y = 0;
        while (x > y) {
            y = y * 10 + x % 10;
            x = x / 10;
        }

        //这里就要判断数字的个数是奇数或偶数
        return x == y || x == y /10;
    }

}
